XE - Extended Edit SHML 8 Mar 96 ludwig@inf.ethz.ch
supports folded text, compilation according to file_extension, default
file_extensions, EditKeys, configurable menus, and several keyboard shortcuts.
XE.Open ^ (name[.ext] | "^") Open a text
XE.SysOpen ^ [defY] (name[.ext] | "^") Open a tool (at defY)
XE.OpenWide ^ (name[.ext] | "^") Open a text in a new track
XE.OpenAscii ^ (name[.ext] | "^") Open a text using a
fixed spaced font
XE.Compile [options] Compile viewer (containing
folds) in main frame with
options
| "*" or marked viewer
| {file [options]} or list of files (containing
folds) with options
| "^" selection of filenames
XE.Error Locate next error in main frame or marked viewer
XE.Defaults see below
XE.List see below
XE.GetHandler see below
Special mouse behavior:
The right mouse button is used to select text. One click selects a character, a second click on the same location selects a word (e.g. Par), a third click a name (e.g. Oberon.Par.frame), a fourth the whole line. To select a line immediately, click twice at the end of the line or on any special or blank character within the line.
The middle mouse button with right interclick tries to open the underlined word with the OpenCmd installed from XE.Configuration.Text. Thereby, documents can be opened by simply middle/right clicking at them. The name adheres to the OS' filename syntax.
Clicking into selected text with the middle mouse button, dragging the mouse to a different position or viewer, and then left interclicking will move the text. The caret is set at the target position.
Clicking into selected text with the middle mouse button, without dragging and interclicking will execute the underlined text (after a short delay).
Double clicking the left mouse button will clear the current selection. This can be useful when using Edit.Search and then copying in some text, which will remain selected. Reinvoking Edit.Search will use the current selection, instead of the last search argument. A double click clears this current selection.
Special keys:
CR, Ctrl-M carriage return with automatic indentation
LF, Ctrl-J carriage return without indentation
Cursor up, Ctrl-P move caret one line up
Cursor down, Ctrl-N move caret one line down
Backspace, Ctrl_D delete character to the right of caret
Ctrl_F move one word forward
Ctrl_B move one word backward
Ctrl_W move to beginning of (previous) line.
(Ctrl-A is Umlaut-A on some machines)
Ctrl_E move to end of (next) line
Ctrl_K delete to end of line/delete CR at end of line
Ctrl_T swap previous two characters
Ctrl_X move selection to caret
XE.Open and XE.OpenWide try .Mod and .Text as default extensions or the extension from the configuration file. If both fail, then they retry with the given name without extension.
E.g. XE.Open x.P tries x.P, x.P.Mod, x.P.Text, x.Mod, and x.Text.
XE.OpenAscii tries .c and .h as default extensions or the extension from the configuration file. If both fail, then it retries with the given name without extension.
E.g. XE.OpenAscii x.P tries x.P, x.P.c, x.P.h, x.c, and x.h.
XE.Open and XE.OpenWide try to search for a given name similar to Edit.Show.
E.g. XE.Open Prog.Ident searches in Prog.Mod (if it exists) first for Ident*, then for Ident-, and finally for Ident.
XE.SysOpen tries .Tool as a default extension or the extension from the configuration file (accepts default Y_coordinate).
E.g. XE.SysOpen System tries System and System.Tool.
XE uses XE.Menu.Text for menus. The first line is the menu for Mod viewers in the user track, the second line is for Text viewers in the user track, the third line is for tool viewers, the fourth and fifth for viewers opened with OpenWide and OpenAscii, respectively.
XE.GetHandler is used to get a procedure variable containing the Handler procedure of XE without importing XE. Use this command via Oberon.Call with a new Oberon.Par. The handler is put into Oberon.Par.frame.handle, if and only if Oberon.Par.pos = XE.GetHandlerKey. (See XEInstaller for details.)
XE.List lists the default open command and the compile command - extension - error file table.
XE.Defaults initializes the default open command and the compile command - extension - error file table from the file XE.Configuration.Text. The syntax of the XE.Configuration.Text is: